import {config} from "../config/config";
import {promisic} from "./utils";

class Http {
    // {} 对象式传参
    /*
    * 缺点 http 发送请求后 接收的是异步的 所有通过回调函数回调，导致每一层都是异步的1
    * 异步三种调用形式
    * callback
    * promise
    * async await 基于 Promise
    *
    *
    * promise 修饰
    * promisc(wx.request)({}) 后面括号中传入参数
    * 使用 await 修饰的函数必须要返回一个结果
    * 都可以通过一层封装来解决 计算机
    * */
    static async request({url, data, callback, method = 'GET'}) {
        const res = await promisic(wx.request)({
            url: `${config.apiBaseUrl}${url}`,
            method,
            data,
            header: {
                appkey: config.appkey
            },
        })
        return res.data
    }
}

export {
    Http
}